home *** CD-ROM | disk | FTP | other *** search
/ Mac Magazin/MacEasy 32 / Mac Magazin and MacEasy Magazine CD - Issue 32.iso / Grafik & Text / OzTeX3.0 / Metafont / Inputs / ec / txgen.mf < prev    next >
Text File  |  1997-03-16  |  4KB  |  112 lines

  1. % txgen.mf
  2. %
  3. % (c) Copyright 1995, 1997 J"org Knappen
  4. %
  5. % This file is part of ecfonts version 1.0
  6. %
  7. % Please read the files 00readme.txt, 00inst.txt, 00error.txt, and
  8. % copyrite.txt for further information
  9. %
  10. % You find some documentation in ecdoc.tex (needs LaTeX2e)
  11. %
  12. % was originally |gen.mf| by DEK
  13. % changed |cmchar| to |ecchar|
  14. % moved divorced symbol to position "c" (was "1")
  15. %
  16. % characters for Jill's genealogy publications
  17.  
  18. version_check(1,0);  % |version_check| was introduced in dc1.3
  19.  
  20. ecchar "Cross (death symbol)";
  21. beginchar("d",9u#,.65[x_height#,asc_height#],.1(asc_height#-x_height#));
  22. adjust_fit(0,0); pickup tiny.nib; 
  23. numeric light_stem; light_stem=Vround .5[vair,stem];
  24. pos1(stem,0); pos2(.4[hair,stem],0); pos3(stem,0);
  25. %pos4(stem,90); pos5(.5[vair,stem],90); pos6(stem,90);
  26. pos4(light_stem,90); pos5(.5[vair,light_stem],90); pos6(light_stem,90);
  27. x1=x2=x3=.5w; top y1=h; bot y3=-d; y2=y4r;
  28. y4=y5=y6; y4l=good.y .6[-d,h]; x4=good.x u; x6=r-x4; x5=x2;
  29. filldraw z1l...z2l{down}...z3l--z3r...z2r{up}...z1r--cycle; % vertical stroke
  30. filldraw z4l...z5l...z6l--z6r...z5r...z4r--cycle; % horizontal stroke
  31. penlabels(1,2,3,4,5,6); endchar;
  32.  
  33. ecchar "Rings (marriage symbol)";
  34. beginchar("m",9u#,v_center(x_height#));
  35. adjust_fit(0,0); pickup tiny.nib;
  36. numeric light_stem; light_stem=Vround .5[vair,stem];
  37. pos1(light_stem,90); pos3(light_stem,-90);
  38. pos2(light_stem,180); pos4(.3[hair,light_stem],0);
  39. x1=x3=.5[x2,x4]; lft x2r=hround(-u-.5light_stem); rt x4r=hround(.6w+.5stem);
  40. %top y1r=vround(h+.5light_stem); y2=y4=.5[y1,y3];
  41. %bot y3r=vround(-d-.5light_stem);
  42. top y1r=h; y2=y4=.5[y1,y3];
  43. bot y3r=-d;
  44. pos5(light_stem,90); pos7(light_stem,-90);
  45. pos6(.3[hair,light_stem],180); pos8(light_stem,0);
  46. x5-x1=x6-x2=x7-x3=x8-x4; rt x8r=hround(w+u+.5light_stem);
  47. y5-y1=y6-y2=y7-y3=y8-y4=0;
  48. filldraw stroke pulled_arc.e(1,2)&pulled_arc.e(2,3)&pulled_arc.e(3,4)
  49.  &pulled_arc.e(4,1); % left ring
  50. filldraw stroke pulled_arc.e(5,6)&pulled_arc.e(6,7)&pulled_arc.e(7,8)
  51.  &pulled_arc.e(8,5); % right ring
  52. penlabels(1,2,3,4,5,6,7,8); endchar;
  53.  
  54. ecchar "Five-pointed star (birth symbol)";
  55. beginchar("b",9u#,v_center(x_height#));
  56. adjust_fit(0,0); pickup tiny.nib;
  57. numeric theta; theta=360/5; % degrees between points
  58. pos0(curve,0); pos1(rule_thickness,90); x0=x1=good.x .5w;
  59. top y1r=vround(math_axis+.5x_height+.5rule_thickness);
  60. ypart(.5[z1,z0+(z1-z2) rotated 2theta])=math_axis;
  61. pos2(curve,theta); pos3(rule_thickness,90+theta);
  62. z2=z0; z3-z0=(z1-z0) rotated theta;
  63. z4=whatever[z0l,z1r]=whatever[z2r,z3r];
  64. filldraw for n=0 upto 4:
  65.  z0+(z1r-z0)rotated(n*theta)--z0+(z4-z0)rotated(n*theta)--endfor
  66.  cycle;  % star
  67. penlabels(0,1,2,3,4); endchar;
  68.  
  69. ecchar "Divided rings (divorce symbol)";
  70. beginchar("c",9u#,v_center(x_height#));
  71. adjust_fit(0,0); pickup tiny.nib;
  72. numeric light_stem; light_stem=Vround .5[vair,stem];
  73. pos11(stem,0); pos12(.4[hair,stem],0); pos13(stem,0);
  74. x11=x12=x13=.5w; top y11=round 1.3h; bot y13=round(-d-.3h); y12=.6[y13,y11];
  75. filldraw z11l...z12l{down}...z13l
  76.   --z13r...z12r{up}...z11r--cycle; % vertical stroke
  77. pos1(light_stem,90); pos3(light_stem,-90);
  78. pos2(light_stem,180); pos4(.3[hair,light_stem],0);
  79. x1=x3=.5[x2,x4]; lft x2r=hround(-3u-.5light_stem); rt x4r=hround(.25w+.5stem);
  80. top y1r=h; y2=y4=.5[y1,y3];
  81. bot y3r=-d;
  82. pos5(light_stem,90); pos7(light_stem,-90);
  83. pos6(.3[hair,light_stem],180); pos8(light_stem,0);
  84. x5-x1=x6-x2=x7-x3=x8-x4; rt x8r=hround(w+3u+.5light_stem);
  85. y5-y1=y6-y2=y7-y3=y8-y4=0;
  86. filldraw stroke pulled_arc.e(1,2)&pulled_arc.e(2,3)&pulled_arc.e(3,4)
  87.  &pulled_arc.e(4,1); % left ring
  88. filldraw stroke pulled_arc.e(5,6)&pulled_arc.e(6,7)&pulled_arc.e(7,8)
  89.  &pulled_arc.e(8,5); % right ring
  90. penlabels(1,2,3,4,5,6,7,8,11,12,13); endchar;
  91.  
  92. ecchar "Leaf";
  93. beginchar("l",18u#,asc_height#,0);
  94. adjust_fit(0,0); pickup pencircle scaled .6rule_thickness;
  95. z1=(0,0); z2=(w,h);
  96. z3=.5[z1,z2]+.25((z2-z1)rotated 90);
  97. z4=.5[z1,z2]+.25((z2-z1)rotated-90);
  98. path p[]; p3=z1...z3{z2-z1}...z2; p4=z1...z4{z2-z1}...z2;
  99. draw p3; % upper edge
  100. draw p4; % lower edge
  101. draw z1 -- z2; % stem
  102. z5=1/4[z1,z2]; z6=.55[z1,z2];
  103. z35=p3 intersectionpoint (z5--(x5,2h));
  104. z36=p3 intersectionpoint (z6--(x6,2h));
  105. z45=p4 intersectionpoint (z5--(2w,y5));
  106. z46=p4 intersectionpoint (z6--(2w,y6));
  107. draw z35--z5--z45; % vein
  108. draw z36--z6--z46; % vein
  109. labels(1,2,3,4,5,6,35,36,45,46); endchar;
  110.  
  111. endinput;
  112.